今天的案例是
當我們專案在開發的過程中,需要比對其中兩版的差異時
可以透過git diff來達成
假設我們要比對C0跟C1的差異
$ git diff C0 C1
這會顯示出C0跟C1的差異
若想將差異比對的內容放到文字檔內可以加上輸出的指令
$ git diff C0 C1 > /usr/diff.txt
輸出的內容大概如下
$ git diff cd60066 025280f
diff --git a/index.html b/index.html
index f7a4320..44fd489 100644
--- a/index.html
+++ b/index.html
@@ -9,10 +9,10 @@
<form action="">
<h1>login page</h1>
<div>
- account:<input type="text">
+ account:<input type="text" placeholder="please input account">
</div>
<div>
- password:<input type="password">
+ password:<input type="password" placeholder="please input password">
</div>
<div>
<button>Login</button>
diff --git a/wellcome.html b/wellcome.html
new file mode 100644
index 0000000..89f992d
--- /dev/null
+++ b/wellcome.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width">
+ <title>wellcome Page</title>
+</head>
+<body>
+<form action="">
+ <h1>wellcome page</h1>
+ <div>
+ wellcome , user !
+ </div>
上面的--- a/index.html表示的是比較舊的版本,+++ b/index.html是比較新的版本
下面列的是檔案內容的比對
+開頭的表示新加的行
-開頭的表示被刪除的行
空白的表示沒有改變的行
官網列的文件:
git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>
比對的是現在的工作區跟index的差異
比對index與指定commit的差異
指定的兩個commit的差異
比對兩個blob物件的差異
Git裡的物件可以參考這裡
比對兩個path下的差異,我比對後出現很多看不懂的比對結果
可以透過git diff 來比對出兩個路徑或是版本的差異